<?php
/**
 * Created by PhpStorm.
 * User: 11893
 * Date: 2018/10/19
 * Time: 16:52
 */

namespace App\Admin;

class Js
{
    public static function ajaxConfirm($url, $attributes)
    {
        $attributes = json_encode($attributes);
        return <<<SCRIPT
           $('.ajax-confirm').unbind('click').click(function() {
                var data = {};
                var _this = this;
                $.each($attributes, function(index, key) {
                  data[key] = $(_this).data(key);
                })
                data._token = LA.token
                swal({
                    title: '确定发布活动？',
                    showCancelButton: true,
                    confirmButtonText: "确认",
                    cancelButtonText: "取消",
                    showLoaderOnConfirm: true,
                    preConfirm: function() {// Laravel-Admin 没有 axios，使用 jQuery 的 ajax 方法来请求
                        return $.ajax({
                            url: '$url',
                            type: 'POST',
                            data: JSON.stringify(data),
                            contentType: 'application/json',  // 请求的数据格式为 JSON
                        });
                    },
                    allowOutsideClick: () => !swal.isLoading()
                }).then(function (ret) {
                    // 如果用户点击了『取消』按钮，则不做任何操作
                    if (ret.dismiss === 'cancel') {
                        return;
                    }
                    swal({
                        title: '操作成功',
                        type: 'success'
                    }).then(function() {
                        // 用户点击 swal 上的按钮时刷新页面
                        location.reload();
                    });
                });
           }) 
SCRIPT;
    }
}